package com.hqyj.shop.websocket;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;

/**
 * 项目:shop-admin-240701
 * 描述: websocket 测试
 * 时间:2024/10/17 9:28
 * 作者:admin
 * 版本:1.0
 **/
//@ServerEndpoint("/demoWebSocket")
//@Component
@Slf4j
public class DemoWebSocket {


    //当打开链接触发的函数
    @OnOpen
    public void myOpen(Session session){
          log.info("{}用户进来了",session.getId());
    }
    //客户端发送消息后触发的事件
    @OnMessage
    public void message(Session session,String message){
        log.info("{}用户发送消息，消息内容:{}",session.getId(),message);

        //服务端发送消息到客户端
        sendMsg(session,message);

    }
    //客户端和服务端通信异常触发的事件
    @OnError
    public void error(Session session,Throwable throwable){
            log.info("客户端{}连接服务端发生异常",session.getId());
    }
    //链接关闭触发的事件
    @OnClose
    public void close(Session session){
        log.info("客户端{}连接服务端链接关闭",session.getId());
    }

    //发送消息的函数
    public static void  sendMsg(Session session,String msg){
        //服务端发送消息到客户端
        try {
            session.getBasicRemote().sendText(msg);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }






}

